package com.whfc.ms.api.sys.service;

import com.whfc.common.result.PageData;
import com.whfc.fuum.dto.SysDictDTO;
import com.whfc.fuum.param.SysDictDataAddParam;
import com.whfc.fuum.param.SysDictDataEditParam;
import com.whfc.fuum.param.SysDictTypeAddParam;
import com.whfc.fuum.param.SysDictTypeEditParam;

/**
 * @author qzexing
 * @version 1.0
 * @date 2020-12-11 10:24
 */
public interface MsSysDictService {

    /**
     * 获取字典表类型列表
     *
     * @param pageSize
     * @param pageNum
     */
    PageData<SysDictDTO> typeList(Integer pageNum, Integer pageSize);

    /**
     * 添加字典类型
     *
     * @param request
     */
    void addType(SysDictTypeAddParam request);

    /**
     * 编辑字典类型
     *
     * @param request
     */
    void editType(SysDictTypeEditParam request);

    /**
     * 删除字典表类型
     *
     * @param id
     */
    void delType(Integer id);

    /**
     * 查询数据字典
     *
     * @param sysDictTypeId
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageData<SysDictDTO> listDictData(Integer sysDictTypeId, Integer pageNum, Integer pageSize);

    /**
     * 添加数据字典
     *
     * @param request
     */
    void addDictData(SysDictDataAddParam request);

    /**
     * 编辑数据字典
     *
     * @param request
     */
    void editDictData(SysDictDataEditParam request);

    /**
     * 删除数据字典
     *
     * @param id
     */
    void delDictData(Integer id);


    /**
     * 根据字典类型名称获取字典数据
     *
     * @param code 数据字典类型code
     * @return
     */
    SysDictDTO getDictDataByTypeCode(String code);
}
